home *** CD-ROM | disk | FTP | other *** search
-
- In D3 the Exe startup code only calls InitEXE. This is responsible for
- calling the init/final code of all other units in the module. This
- is done by calling entries in a table created by the linker.
-
- inittest.initialization: begin
- :00424C84 55 push ebp
- :00424C85 8BEC mov ebp,esp
- :00424C87 83C4F4 add esp,FFFFFFF4
- :00424C8A B8E44B4200 mov eax,00424BE4
- :00424C8F E83C03FEFF call @InitExe
- inittest.10: Application.Initialize;
- :00424C94 A198584200 mov eax,[00425898]
- :00424C99 8B00 mov eax,[eax]
- :00424C9B E860F0FFFF call TApplication.Initializ
-
- Normally, empty try..finally, Inc(AutoGlobal):
-
- Finalization: AutoGlobalP := pointer(longint(@UnitGlobal)
- :00424B58 55 push ebp
- :00424B59 8BEC mov ebp,esp
- :00424B5B 33C0 xor eax,eax
- :00424B5D 55 push ebp
- :00424B5E 68934B4200 push 00424B93
- :00424B63 64FF30 push fs:dword ptr [eax]
- :00424B66 648920 mov fs:[eax],esp
- :00424B69 FF0530674200 inc dword ptr [00426730]
- :00424B6F 7514 jne INITTEST.00424B85 (00424B85
- :00424B71 B82C674200 mov eax,0042672C
- :00424B76 83C004 add eax,00000004
- :00424B79 A328674200 mov [00426728],eax
- testinit.28: UnitGlobal := 0;
- :00424B7E 33C0 xor eax,eax
- :00424B80 A32C674200 mov [0042672C],eax
- :00424B85 33C0 xor eax,eax
- :00424B87 5A pop edx
- :00424B88 59 pop ecx
- :00424B89 59 pop ecx
- :00424B8A 648910 mov fs:[eax],edx
- :00424B8D 689A4B4200 push 00424B9A
- :00424B92 C3 ret
- :00424B93 E998E4FDFF jmp @HandleFinally
- :00424B98 EBF8 jmp INITTEST.00424B92 (00424B92
- testinit.31: end.
- :00424B9A 5D pop ebp
- :00424B9B C3 ret
-
-
- Normally, Dec(AutoGlobal);
-
- initialization: initialization
- :00424B9C 832D3067420001 sub dword ptr [00426730],000000
- :00424BA3 7314 jnb testinit.22 (00424BB9)
- testinit.19: AutoGlobalP := pointer(longint(@UnitGlobal) +
- :00424BA5 B82C674200 mov eax,0042672C
- :00424BAA 83C004 add eax,00000004
- :00424BAD A328674200 mov [00426728],eax
- testinit.20: UnitGlobal := 0;
- :00424BB2 33C0 xor eax,eax
- :00424BB4 A32C674200 mov [0042672C],eax
- testinit.22: finalization
- :00424BB9 C3 ret
-
-
-